Data warehousing is an emerging industry presently experiencing explosive growth. Data warehousing involves storing substantial amounts of client data in large databases, which must facilitate manipulation, modification, and analysis of client data. To ensure adequate performance, these databases should preferably be performance tuned both initially, and on an ongoing basis.
One approach to performance tuning a database is to constantly monitor particular performance characteristics, or metrics associated with the operation of the database. This approach typically involves real-time visual presentation of a limited number of performance metrics. The goal of this approach is to present visual data to an analyst in hopes that the analyst will note any deficiencies in the performance of the database during his or her observation. This approach was originally developed and used with relatively small databases as compared to the large data warehouses described above. A problem with this approach is that typical queries that may take seconds or sub-seconds to execute on smaller databases, take minutes or hours to execute on the large data warehouses. Real-time visual inspection, thus, is an inappropriate method of evaluating the performance of data warehouses.
Another approach to performance tuning a database is to record the real-time performance metrics and play them back at a later time. A problem with this approach is that these systems are generally proprietary, prohibiting access to the raw data collected. They merely play back the recorded real-time information at a later time. These systems, therefore, suffer from the same shortcomings as systems that merely display real-time values of performance metrics. In addition, these systems typically implement a menu driven system, which limits the choice of observable metrics and combinations thereof.